package business_opportunity

type CompanyList struct {
	OrganizingCode string `json:"organizing_code"`
	CompanyName    string `json:"company_name"`
}

type ContactListRequest struct {
	Company              []*CompanyList      `json:"company"`
	ContactType          string              `json:"contact_type"`
	Keyword              string              `json:"keyword"`
	PhoneType            []string            `json:"phone_type"`
	ProvinceCode         string              `json:"province_code"`
	CityCode             string              `json:"city_code"`
	PurchaseOwnerMobile  string              `json:"purchase_owner_mobile"`
	Page                 int32               `json:"page"`
	PageSize             int32               `json:"page_size"`
	CooperationTimeStart string              `json:"cooperation_time_start"`
	CooperationTimeEnd   string              `json:"cooperation_time_end"`
	CooperationCount     []*CooperationCount `json:"cooperation_count"`
	AreaCode             []string            `json:"area_code"`
	JobType              []string            `json:"job_type"`
}
type CooperationCount struct {
	Min int32 `json:"min"`
	Max int32 `json:"max"`
}

type CooperationListRequest struct {
	PhoneNumber string `json:"phone_number"`
	Category    string `json:"category"`
	Page        int32  `json:"page"`
	PageSize    int32  `json:"page_size"`
}

type ContactDetailRequest struct {
	Id string `json:"id" form:"id" binding:"required"`
}

type GetMobileRequest struct {
	Id          string `json:"id" form:"id" binding:"required"`
	IgnoreCount bool   `json:"ignore_count" form:"ignore_count"`
}

// GetCustomerDetailRequest 找客户详情入参
type GetCustomerDetailRequest struct {
	OrganizingCode string `json:"organizing_code" form:"organizing_code" binding:"required" err:"社会信用代码不能为空"`
}

type GetCustomerListRequest struct {
	Keyword          string   `json:"keyword"`
	CompanyIdentity  []string `json:"company_identity"`
	AreaCodes        []string `json:"area_codes"`
	CompanyLevel     []string `json:"company_level"`
	CompanyLabel     []string `json:"company_label"`
	CompanyType      []string `json:"company_type"`
	IndustryCategory []string `json:"industry_category"`
	LandUsageLabel   []string `json:"land_usage_label"`
	ProjectTypeLabel []string `json:"project_type_label"`
	FitmentFeeLabel  []string `json:"fitment_fee_label"`
	BiddingArea      []string `json:"bidding_area"`
	CreditLevel      []string `json:"credit_level"`
	Page             int32    `json:"page" binding:"min=0" err:"页码参数错误"`
	PageSize         int32    `json:"page_size" binding:"min=0" err:"页大小参数错误"`
}

// SupplierProjectRequest 工程单位合作案例入参
type SupplierProjectRequest struct {
	OrganizingCode string   `json:"organizing_code" form:"organizing_code" binding:"required" err:"社会信用代码不能为空"`
	Page           int32    `json:"page" binding:"min=0" err:"页码参数错误"`
	PageSize       int32    `json:"page_size" binding:"min=0" err:"页大小参数错误"`
	Keyword        string   `json:"keyword"`
	AreaCode       []string `json:"area_code"`
	CoopTimeMax    string   `json:"coop_time_max"`
	CoopTimeMin    string   `json:"coop_time_min"`
}

type GetCustomerScoreDetailRequest struct {
	OrganizingCode string `json:"organizing_code" form:"organizing_code" binding:"required" err:"社会信用代码不能为空"`
}

type GetCustomerRiskCommonRequest struct {
	OrganizingCode string `json:"organizing_code" form:"organizing_code" binding:"required" err:"社会信用代码不能为空"`
	Page           int32  `json:"page" form:"page" binding:"min=0" err:"页码参数错误"`
	PageSize       int32  `json:"page_size" form:"page_size" binding:"min=0" err:"页大小参数错误"`
}

// GetBiddingListRequest 采购需求列表入参
type GetBiddingListRequest struct {
	OrganizingCode   string   `json:"organizing_code" form:"organizing_code" binding:"required" err:"社会信用代码不能为空"`
	Page             int32    `json:"page" binding:"min=0" err:"页码参数错误"`
	PageSize         int32    `json:"page_size" binding:"min=0" err:"页大小参数错误"`
	Keyword          string   `json:"keyword"`
	AreaCode         []string `json:"area_code"`
	PublishDateStart string   `json:"publish_date_start"`
	PublishDateEnd   string   `json:"publish_date_end"`
	Type             []string `json:"type"`
}

// GetTakenLandRequest 拿地列表入参
type GetTakenLandRequest struct {
	OrganizingCode    string   `json:"organizing_code" form:"organizing_code" binding:"required" err:"社会信用代码不能为空"`
	Page              int32    `json:"page" binding:"min=0" err:"页码参数错误"`
	PageSize          int32    `json:"page_size" binding:"min=0" err:"页大小参数错误"`
	Keyword           string   `json:"keyword"`
	AreaCode          []string `json:"area_code"`
	TakeLandDateStart string   `json:"take_land_date_start"`
	TakeLandDateEnd   string   `json:"take_land_date_end"`
	LandUsage         []string `json:"land_usage"`
}

// GetBuildingListRequest 在建项目列表入参
type GetBuildingListRequest struct {
	OrganizingCode string   `json:"organizing_code" form:"organizing_code" binding:"required" err:"社会信用代码不能为空"`
	Page           int32    `json:"page" binding:"min=0" err:"页码参数错误"`
	PageSize       int32    `json:"page_size" binding:"min=0" err:"页大小参数错误"`
	Keyword        string   `json:"keyword"`
	AreaCode       []string `json:"area_code"`
	BeginDateStart string   `json:"begin_date_start"`
	BeginDateEnd   string   `json:"begin_date_end"`
	EndDateStart   string   `json:"end_date_start"`
	EndDateEnd     string   `json:"end_date_end"`
	PrjTypeNum     []string `json:"prj_type_num"`
	PrjPropertyNum []string `json:"prj_property_num"`
}

// GetSaleListRequest 开盘列表入参
type GetSaleListRequest struct {
	OrganizingCode    string   `json:"organizing_code" form:"organizing_code" binding:"required" err:"社会信用代码不能为空"`
	Page              int32    `json:"page" binding:"min=0" err:"页码参数错误"`
	PageSize          int32    `json:"page_size" binding:"min=0" err:"页大小参数错误"`
	Keyword           string   `json:"keyword"`
	AreaCode          []string `json:"area_code"`
	OpeningTimeStart  string   `json:"opening_time_start"`
	OpeningTimeEnd    string   `json:"opening_time_end"`
	DeliveryTimeStart string   `json:"delivery_time_start"`
	DeliveryTimeEnd   string   `json:"delivery_time_end"`
	FitmentFee        []string `json:"fitment_fee"`
	PropertyCategory  []string `json:"property_category"`
}

// GetFeedListRequest 客户动态入参
type GetFeedListRequest struct {
	OrganizingCode string `json:"organizing_code" form:"organizing_code" binding:"required" err:"社会信用代码不能为空"`
	Page           int32  `json:"page" binding:"min=0" err:"页码参数错误"`
	PageSize       int32  `json:"page_size" binding:"min=0" err:"页大小参数错误"`
}

// 投资公司
type GetInvestCompanyRequest struct {
	OrganizingCode string `json:"organizing_code" form:"organizing_code" binding:"required" err:"社会信用代码不能为空"`
}

type FuzzySearchRequest struct {
	Keyword string `json:"keyword" form:"keyword" binding:"required" err:"关键词不能为空"`
}

type GetCustomerRiskCountRequest struct {
	OrganizingCode string `json:"organizing_code" form:"organizing_code" binding:"required" err:"社会信用代码不能为空"`
}

// SearchProjectRequest 招项目入参
type SearchProjectRequest struct {
	Keyword                string   `json:"keyword"`
	OrganizingCode         string   `json:"organizing_code"`
	AreaCode               []string `json:"area_code"`
	CompanyAreaCode        []string `json:"company_area_code"`
	LandUsage              []string `json:"land_usage"`
	ProjectType            []string `json:"project_type"`
	FitmentFee             []string `json:"fitment_fee"`
	CompanyType            []string `json:"company_type"`
	CompanyLabel           []string `json:"company_label"`
	IndustryCategory       []string `json:"industry_category"`
	ProjectPriceGtAvgLabel []string `json:"project_price_gt_avg_label"`
	TakeLandDateStart      string   `json:"take_land_date_start"`
	TakeLandDateEnd        string   `json:"take_land_date_end"`
	ProjectDateStart       string   `json:"project_date_start"`
	ProjectDateEnd         string   `json:"project_date_end"`
	BuildingDateStart      string   `json:"building_date_start"`
	BuildingDateEnd        string   `json:"building_date_end"`
	OpenDateStart          string   `json:"open_date_start"`
	OpenDateEnd            string   `json:"open_date_end"`
	CompletedDateStart     string   `json:"completed_date_start"`
	CompletedDateEnd       string   `json:"completed_date_end"`
	Page                   int32    `json:"page" binding:"min=0" err:"页码参数错误"`
	PageSize               int32    `json:"page_size" binding:"min=0" err:"页大小参数错误"`
}

type FuzzySearchProjectRequest struct {
	Keyword string `json:"keyword" form:"keyword"`
}

type ProjectDetailRequest struct {
	Id string `json:"id"`
}

type ProjectDetailLandRequest struct {
	ProjectId string `json:"project_id"`
	Page      int32  `json:"page" binding:"min=0" err:"页码参数错误"`
	PageSize  int32  `json:"page_size" binding:"min=0" err:"页大小参数错误"`
}

type ProjectDetailBuildRequest struct {
	ProjectId string `json:"project_id"`
	Page      int32  `json:"page" binding:"min=0" err:"页码参数错误"`
	PageSize  int32  `json:"page_size" binding:"min=0" err:"页大小参数错误"`
}

type ProjectDetailSaleRequest struct {
	ProjectId string `json:"project_id"`
	Page      int32  `json:"page" binding:"min=0" err:"页码参数错误"`
	PageSize  int32  `json:"page_size" binding:"min=0" err:"页大小参数错误"`
}

type ProjectDetailBidRequest struct {
	ProjectId string `json:"project_id"`
	Page      int32  `json:"page" binding:"min=0" err:"页码参数错误"`
	PageSize  int32  `json:"page_size" binding:"min=0" err:"页大小参数错误"`
}

// SearchBidRequest 招招中标入参
type SearchBidRequest struct {
	Keyword          string   `json:"keyword"`
	OrganizingCode   string   `json:"organizing_code"`
	SearchType       []string `json:"search_type"`
	Id               string   `json:"id"`
	SubId            string   `json:"sub_id"`
	AreaCode         []string `json:"area_code"`
	CompanyAreaCode  []string `json:"company_area_code"`
	Type             []string `json:"type"`
	DataSourceCode   []string `json:"data_source_code"`
	CompanyType      []string `json:"company_type"`
	CompanyLabel     []string `json:"company_label"`
	PublishDateStart string   `json:"publish_date_start"`
	PublishDateEnd   string   `json:"publish_date_end"`
	EndDateStart     string   `json:"end_date_start"`
	EndDateEnd       string   `json:"end_date_end"`
	Page             int32    `json:"page" binding:"min=0" err:"页码参数错误"`
	PageSize         int32    `json:"page_size" binding:"min=0" err:"页大小参数错误"`
}
type FuzzySearchBidRequest struct {
	Keyword    string `json:"keyword" form:"keyword"`
	SearchType string `json:"search_type" form:"search_type"`
}

type GetProjectLifeCycleRequest struct {
	Keyword            string   `json:"keyword"`
	OrganizingCode     string   `json:"organizing_code"`
	AreaCode           []string `json:"area_code"`
	CompanyAreaCode    []string `json:"company_area_code"`
	LandUsage          []string `json:"land_usage"`
	ProjectType        []string `json:"project_type"`
	FitmentFee         []string `json:"fitment_fee"`
	CompanyType        []string `json:"company_type"`
	CompanyLabel       []string `json:"company_label"`
	IndustryCategory   []string `json:"industry_category"`
	TakeLandDateStart  string   `json:"take_land_date_start"`
	TakeLandDateEnd    string   `json:"take_land_date_end"`
	ProjectDateStart   string   `json:"project_date_start"`
	ProjectDateEnd     string   `json:"project_date_end"`
	BuildingDateStart  string   `json:"building_date_start"`
	BuildingDateEnd    string   `json:"building_date_end"`
	OpenDateStart      string   `json:"open_date_start"`
	OpenDateEnd        string   `json:"open_date_end"`
	CompletedDateStart string   `json:"completed_date_start"`
	CompletedDateEnd   string   `json:"completed_date_end"`
	Page               int32    `json:"page" binding:"min=0" err:"页码参数错误"`
	PageSize           int32    `json:"page_size" binding:"min=0" err:"页大小参数错误"`
}

type BidDetailRequest struct {
	Id string `json:"id" form:"id" binding:"required" err:"id不能为空"`
}
type BidDetailMobileRequest struct {
	Id string `json:"id" form:"id" binding:"required" err:"id不能为空"`
}

type WinBidDetailRequest struct {
	Id string `json:"id" form:"id" binding:"required" err:"id不能为空"`
}

type TakenLandDetailRequest struct {
	Id string `json:"id" form:"id" binding:"required" err:"id不能为空"`
}

type SaleDetailRequest struct {
	Id string `json:"id" form:"id" binding:"required" err:"id不能为空"`
}
type GetTopProjectRequest struct {
	Id string `json:"id" form:"id" binding:"required" err:"id不能为空"`
}

type NewHouseRequest struct {
	OrganizingCode string `json:"organizing_code"`
	PresellNum     string `json:"presell_num"`
	Page           int32  `json:"page" binding:"min=0" err:"页码参数错误"`
	PageSize       int32  `json:"page_size" binding:"min=0" err:"页大小参数错误"`
}

type SaleListRequest struct {
	Keyword               string   `json:"keyword"`
	Area                  []string `json:"area"`
	CompanyArea           []string `json:"company_area"`
	CompanyType           []string `json:"company_type"`
	IsPriceGtAvg          []string `json:"is_price_gt_avg"`
	FitmentFeeLabel       []string `json:"fitment_fee_label"`
	PropertyCategoryLabel []string `json:"property_category_label"`
	OpeningTimeStart      string   `json:"opening_time_start"`
	OpeningTimeEnd        string   `json:"opening_time_end"`
	DeliveryTimeStart     string   `json:"delivery_time_start"`
	DeliveryTimeEnd       string   `json:"delivery_time_end"`
	CompanyLabel          []string `json:"company_label"`
	OrganizingCode        string   `json:"organizing_code"`
	Page                  int32    `json:"page"`
	PageSize              int32    `json:"page_size"`
}

type BuildingListRequest struct {
	Keyword           string   `json:"keyword"`
	Area              []string `json:"area"`
	CompanyArea       []string `json:"company_area"`
	CompanyType       []string `json:"company_type"`
	IsPriceGtAvg      []string `json:"is_price_gt_avg"`
	PrjTypeNum        []string `json:"prj_type_num"`
	PrjPropertyNum    []string `json:"prj_property_num"`
	StartDateStart    string   `json:"start_date_start"`
	StartDateEnd      string   `json:"start_date_end"`
	CompleteDateStart string   `json:"complete_date_start"`
	CompleteDateEnd   string   `json:"complete_date_end"`
	CompanyLabel      []string `json:"company_label"`
	OrganizingCode    string   `json:"organizing_code"`
	Page              int32    `json:"page"`
	PageSize          int32    `json:"page_size"`
}
